<?php
 
class DB_Functions {
 
    private $db;
 
    // constructor
    function __construct() {
        require_once 'DB_Connect.php';
        // conexion con base de datos
        $this->db = new DB_Connect();
        $this->db->connect();
    }
 
    // destructor
    function __destruct() {
 
    }
 
    /**
     * Guardar usuario nuevo
     * return datos de usuario
     */
    public function storeUser($nombre, $nombre_usuario, $telefono, $fecha_nacimiento, $email, $password) {
        $cod_usuario = uniqid('', false);
        $hash = $this->hashSSHA($password);
        $encrypted_password = $hash["encrypted"]; 
        $salt = $hash["salt"]; 
        $result = mysql_query("INSERT INTO usuarios(cod_usuario, nombre, nombre_usuario, telefono, contrasena, salt, fecha_nacimiento, email, fecha_registro) VALUES('$cod_usuario', '$nombre', '$nombre_usuario', '$telefono', '$encrypted_password', '$salt', '$fecha_nacimiento', '$email', NOW())");
        // cverificando insercion
        if ($result) {
            // obteniendo datos de usuario
            $result = mysql_query("SELECT * FROM usuarios WHERE cod_usuario = '$cod_usuario'");
            
            return mysql_fetch_array($result);
        } else {
            return false;
        }
    }
 
    /**
     * Obtener usuario con el nombre de usuario y la contraseña
     */
    public function getUserByNickAndPassword($nombre_usuario, $password) {
        $result = mysql_query("SELECT * FROM usuarios WHERE nombre_usuario = '$nombre_usuario'") or die(mysql_error());

        $no_of_rows = mysql_num_rows($result);
        if ($no_of_rows > 0) {
            $result = mysql_fetch_array($result);
            $salt = $result['SALT'];
            $encrypted_password = $result['CONTRASENA'];
            $hash = $this->checkhashSSHA($salt, $password);
            // verificando password
            if ($encrypted_password == $hash) {
                // password correcta
                return $result;
            }
        } else {
            // usuario no encontrado
            return false;
        }
    }
 
    /**
     * Verificar si el usuario existe
     */
    public function isUserExisted($nombre_usuario) {
        $result = mysql_query("SELECT nombre_usuario from usuarios WHERE nombre_usuario = '$nombre_usuario'");
        $no_of_rows = mysql_num_rows($result);
        if ($no_of_rows > 0) {
            // usuario encontrado
            return true;
        } else {
            // usuario no encontrado
            return false;
        }
    }
	
	/**
	*Verificar validez de usuario
	*/
	
	public function isUsrValid($nombre_usuario, $cod_usuario) {
        $result = mysql_query("SELECT nombre_usuario, cod_usuario from usuarios WHERE nombre_usuario = '$nombre_usuario' and cod_usuario = '$cod_usuario'");
        $no_of_rows = mysql_num_rows($result);
        if ($no_of_rows > 0) {
            // usuario validado
            return true;
        } else {
            // usuario no validado
            return false;
        }
    }
 
    /**
     *Encriptando password
	 *return password
     */
    public function hashSSHA($password) {
 
        $salt = sha1(rand());
        $salt = substr($salt, 0, 10);
        $encrypted = base64_encode(sha1($password . $salt, true) . $salt);
        $hash = array("salt" => $salt, "encrypted" => $encrypted);
        return $hash;
    }
 
    //Decriptando password
	
    public function checkhashSSHA($salt, $password) {
 
        $hash = base64_encode(sha1($password . $salt, true) . $salt);
 
        return $hash;
    }
	
	public function getListPub($pagina){
		$ini=$pagina*10;
		$num=10;
		$result = mysql_query("SELECT * from publicaciones ORDER BY COP_PUBLICACION LIMIT $ini, $num");
		$no_of_rows=mysql_num_rows($result);
		if($no_of_rows>0)
			return $result;
		else
			return false;
		
	}
	
	/**
     * Guardar publicacion nueva
     * return exito o fracaso
     */
    public function storePub($cod_usuario, $titulo, $descripcion, $tipo, $tiempo, $ciudad, $direccion, $precio) {
		$cod_pub= uniqid('', false);
		if($tiempo=="7 dias")
			$tiempo = "7 DAY";
		if($tiempo=="15 dias")
			$tiempo = "15 DAY";
		if($tiempo=="1 mes")
			$tiempo = "30 DAY";
		if($tipo=="Venta")
			$tipo=1;
		if($tipo=="Arriendo")
			$tipo=2;
		$result = mysql_query("INSERT INTO publicaciones(cop_publicacion, id_tipo, cod_usuario, titulo, descripcion, fecha_inicio, fecha_fin, valor, direccion) VALUES('$cod_pub', $tipo, '$cod_usuario', '$titulo', '$descripcion', NOW(), date_add(NOW(), INTERVAL 30 DAY), $precio, '$direccion')");
        // verificando insercion
        if ($result) {
           return $cod_pub;
        } else {
            return false;
        }
    }
 
}
 
?>